package com.study.concurrentprogramming.genericiy;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.google.common.collect.Lists;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import lombok.extern.slf4j.Slf4j;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Description : 类型引用学习
 * @Author : guxuemin
 * @Version : V1.0.0
 * @Date : 2021/8/14 15:16
 */
@Slf4j(topic = "juc")
public class TypeRefrenceStudy<T> {

    public T getT() {
        return (T)this;
    }

    public static void main(String[] args) {
        TypeRefrenceStudy<String> stringTypeRefrenceStudy = new TypeRefrenceStudy<>();
        stringTypeRefrenceStudy.getT();
    }
}

@Slf4j
class Abc {
    protected Abc() {
        log.info("hello world");
    }
}
